# 图表排名函数示例

这些示例使用的是 rank (Vrank) 函数，但可能以相似的方式应用到 HRank 函数上。但请注意 HRank 函数只与透视表有关。

示例 1:

研究以下两个一维垂直表：

![Example table image of single dimension rank](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Ranking1.png)

![Example table image of single dimension rank, sorted by ranking column](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Ranking2.png)

示例表格：单维度排名

| Month | sum(Val) | rank(sum(Val)) |
| --- | --- | --- |
| - | 110 | - |
| 1 | 17 | 3 |
| 2 | 9 | 7 |
| 3 | 22 | 1 |
| 4 | 16 | 4 |
| 5 | 10 | 6 |
| 6 | 5 | 8 |
| 7 | 11 | 5 |
| 8 | 20 | 2 |

示例表格：单维度排名，按排名列排序

| Month | sum(Val) | rank(sum(Val)) |
| --- | --- | --- |
| - | 110 | - |
| 3 | 22 | 1 |
| 8 | 20 | 2 |
| 1 | 17 | 3 |
| 4 | 16 | 4 |
| 7 | 11 | 5 |
| 5 | 10 | 6 |
| 2 | 9 | 7 |
| 6 | 5 | 8 |

这两个表相同，但第一个以第一列排序，而第二个以最后一列排序。这证明了排名的基本功能。最高的值拥有最高的排名（最低的排名号）。

rank 函数总是在合计行返回空值。

示例 2:

研究以下的两维透视表：

![Example table image of two dimension rank, and the effect of total](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Ranking3.png)

示例表格：两个维度排名和总计效果

| Group | Month | sum(Val) | rank(sum(Val)) | rank(total sum(Val)) |
| --- | --- | --- | --- | --- |
| A | 1 | 17 | 2 | 3 |
| A | 4 | 16 | 3 | 4 |
| A | 7 | 11 | 4 | 5 |
| A | 8 | 20 | 1 | 2 |
| A | 合计 | 64 | - | - |
| B | 2 | 9 | 3 | 7 |
| B | 3 | 22 | 1 | 1 |
| B | 5 | 10 | 2 | 6 |
| B | 6 | 5 | 4 | 8 |
| B | 合计 | 46 | - | - |
| 合计 | - | 110 | - | - |

这个表格基于同在第一个示例中的两个表格相同事数据。现在可以看到在多维的情况下当前列片断是如何内部分组的。A 组中的“月份”字段与组 B 中的“月分”字段是分开排名的。通过引入 total 限定符，即可再次获取总体排名。

示例 3:

此示例将展示排名的数字呈现形式不同模式的影响。研究以下表：

![Example table image displaying effects of the mode parameter on result number representation](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Ranking4.png)

示例表格：模式参数对结果数表示的影响

| Month | sum(X) | rank(sum(X)) | mode=0 | mode=1 | mode=2 | mode=3 | mode=4 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| - | 86 | - | - | - | - | - | - |
| 4 | 20 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 12 | 2-3 | 2 | 2 | 2.5 | 3 | 2 |
| 7 | 12 | 2-3 | 2 | 2 | 2.5 | 3 | 3 |
| 3 | 10 | 4-5 | 4.5 | 4 | 4.5 | 5 | 5 |
| 5 | 10 | 4-5 | 4.5 | 4 | 4.5 | 5 | 4 |
| 8 | 9 | 6 | 6 | 6 | 6 | 6 | 6 |
| 6 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
| 1 | 6 | 8 | 8 | 8 | 8 | 8 | 8 |

第三列显示文本形式的排名，而第 4-8 列则以不同的模式显示相同排名的数字呈现形式。每一列的表达式是：

num( rank( sum( X ), mode ))

其中模式是 0 到 4 的值：

* 模式 0 （默认）行 2 及 3 共享，但清楚地位于总排名的下半部。它们的数字形式因此向下取整至 2。行 4 及 5 也共享排名，但位于提名表中间偏上一点。因此它们在列中获得第一个及最后一个排名的平均数的数字呈现形式 ((1+8)/2=4.5)。此模式在当您想使用视觉提示来标记一个组内排名最高和最低数据时非常有用。
* 模式 1在任何一种情况下都使用组内较低的排名数字，如第 2 行的 2，第 4 及第 5 行的 3 和 4。
* 模式 2在任何一种情况下都使用组内低和高排名的平均数字，如 第 2 行的 2.5 ((2+3)/2) 以及第 4 行和第 5 行的 3 和 4.5 ((4+5)/2)。
* 模式 3在任何一种情况下都使用组内较高的排名数字，如第 2 行的 3，第 4 及第 5 行的 3 和 5。
* 模式 4每一行都分配一个属于其自身的区别数值。共享一个排名的组内顺序由图表维度的排序顺序决定。

示例 4:

此示例将展示排名的文本呈现形式不同格式的影响。研究以下表：

![Example table image displaying effect of the format parameter on result text representation](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Ranking5.png)

示例表格：格式参数对结果文本表示的影响

| Month | sum(X) | rank(sum(X),0,0) | rank(sum(X),0,1) | rank(sum(X),0,2) |
| --- | --- | --- | --- | --- |
| - | 86 | - | - | - |
| 4 | 20 | 1 | 1 | 1 |
| 2 | 12 | 2-3 | 2 | 2 |
| 7 | 12 | 2-3 | 2 | - |
| 3 | 10 | 4-5 | 4 | - |
| 5 | 10 | 4-5 | 4 | 4 |
| 8 | 9 | 6 | 6 | 6 |
| 6 | 7 | 7 | 7 | 7 |
| 1 | 6 | 8 | 8 | 8 |

列 3 - 5 显示带不同格式值的相同排名函数的文本呈现形式，其中格式是从 0 到 2 的值。

* 格式 0 （默认） 共享排名的行以低值-高值的形式显示，如 '2 - 3' 及 '4 - 5'。
* 格式 1共享排名的行总是获得作为文本形式的最低排名，在本例中如 第 2 行的 2 和 3。
* 格式 2共享相同排名的每一组中的行获得文本呈现形式的低排名号，而组中的其他行获得一个空字符串。共享一个排名的组内顺序由图表维度的排序顺序决定。